package main
import (
	"fmt"
)
//演示Golang中string使用
func main() {
	var address string = "北京长城"
	fmt.Println(address)
//字符串一旦赋值，字符串就不能修改了，再Go中字符串是不可变的
//	var str = "hello"
//	str[0] = 'a' //这里不能修改str的内容，即Go中的字符串是不可变的
//以字符串的原生形式输出，包括换行和特殊字符，可以实现防止攻击
//输出源代码等效果
	var str = "abc\nabc"
	fmt.Println(str)
//想输出源代码
	var str2 = `package main 
	import (
		"fmt"
	//	"unsage"
	) 
	func main (){
		var a  float64 = 12.89293
		fmt.Println("a=",a)
		//%T,查看这个变量的类型，unsafe.Sizeof(a)是这个包的一个函数，可以返回a变量占用的字节数
	//	fmt.Printf("a 的 数据类型 %T,a占用的字节数是 %d",a,unsafe.Sizeof(a))
	}`
	fmt.Println(str2)
//字符串拼接
	var str3 = "hell" + "world!"
	str3 += "hah!"
	fmt.Println(str3)

	var a int //0
	var b float32  //0
	var c float64  //0
	var isMarried bool  // false
	var name string // ""
	//这里的%v，表示按照变量的值输出
	fmt.Printf("a=%d,b=%f,c=%f,isMarried=%v,name=%v",a,b,c,isMarried,name) 
}